package com.zr.springcloudstream;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.stereotype.Component;

/**
 * Created by Lx on 2018/7/5.
 */
@Slf4j
@Component
@EnableBinding(StreamClient.class)//加到应用上就可以实现与消息代理的连接
public class SpringCloudStreamRabbitMQ {
    @Autowired
    private StreamClient streamClient;
    //@StreamListener注解加到方法上，使它可以接收处理流的事件
    @StreamListener("myMessage0914")
    public void process1(String message){
        //接收到供应商返回的信息进行自己的业务处理，把订单状态改为已完成。
        log.info("测试消息队列的接收内容为==========="+message);
        //处理自己的业务逻辑，比如进行库存处理，发货
        //需要响应采购服务，下单成功
        User user = new User();
        user.setCode("test");
        user.setName("名称");
        user.setStatus(20);
        streamClient.output().send(org.springframework.integration.support.MessageBuilder.withPayload(user).build());
    }

}
